package com.xiangshizhineng.tianzhangzhi.app.model.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xiangshizhineng.tianzhangzhi.app.common.base.BaseDTO;
import com.xiangshizhineng.tianzhangzhi.app.utils.LongJsonSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
@ApiModel(description = "田长巡查信息表")
@EqualsAndHashCode(callSuper = true)
public class PatrolRequest extends BaseDTO implements Serializable {
    /**
     * 巡查标识码
     */
    @ApiModelProperty(value = "巡查标识码")
    private String xcbsm;
    /**
     * 行政区代码
     */
    @ApiModelProperty(value = "行政区代码")
    private String xzqdm;
    /**
     * 图斑Shape数据
     */
    @ApiModelProperty(value = "图斑Shape数据")
    private String shape;
    /**
     * 巡查年份
     */
    @ApiModelProperty(value = "巡查年份")
    private String xcnf;
    /**
     * 巡查月份
     */
    @ApiModelProperty(value = "巡查月份")
    private String xcyf;
    /**
     * 本月巡查次数
     */
    @ApiModelProperty(value = "本月巡查次数")
    private String xcpc;
    /**
     * 巡查时间
     */
    @ApiModelProperty(value = "巡查时间")
//    private Long xcsj;
    private String xcsj;
    /**
     * 当次巡查总里程数（单位：千米,,如：5千米）
     */
    @ApiModelProperty(value = "当次巡查总里程数（单位：千米,,如：5千米）")
    private String xclc;
    /**
     * 巡查状态（0：未完成；1：已完成；2：巡查中）
     */
    @ApiModelProperty(value = "巡查状态（0：未完成；1：已完成；2：巡查中）")
    private String xczt;
    /**
     * 违法类型
     */
    @ApiModelProperty(value = "违法类型")
    private String bhlx;
    /**
     * 巡查说明
     */
    @ApiModelProperty(value = "巡查说明")
    private String xcsm;
    /**
     * 考核
     */
    @ApiModelProperty(value = "考核")
    private BigDecimal kp;
    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long userId;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Date createTime;
    /**
     *
     */
    @ApiModelProperty(value = "")
    private Date updateTime;
    /**
     * 任务开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "任务开始时间")
    private Date sTime;
    /**
     * 任务结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "任务结束时间")
    private Date eTime;
    /**
     * 任务状态（0正常，1异常）
     */
    @ApiModelProperty(value = "任务状态（0正常，1异常）")
    private String taskStatus;
    /**
     * 任务描述
     */
    @ApiModelProperty(value = "任务描述")
    private String taskDescribe;
    /**
     * 任务id
     */
    @ApiModelProperty(value = "任务id")
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long taskId;
}
